#Kiwi Editor is a framework for building WYSIWYG web editors.
#Copyright (C) 2011  Roosevelt de Lima Sardinha

#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

#Contact the author at roosevelt1@gmail.com (Roosevelt) 


class AssocWorkspaceProfilesController < ApplicationController
  def create
    # Getting parameters
    json_str = params[:json]
    as_json = ActiveSupport::JSON
    
    json = as_json.decode(json_str)
    
    workspace = Workspace.find(params[:workspace_id])
    
    json["profiles"].each do |profile_id|
      if (!AssocWorkspaceProfile.association_exists?(params[:workspace_id], profile_id))
        assoc = workspace.assoc_workspace_profiles.build
        assoc.profile_id = profile_id
        assoc.save  
      end
    end
    
    respond_to do |format|
      format.js  { render :json => true}
    end
  end
  
  def destroy
    associations = AssocWorkspaceProfile.find(:all, :conditions => {:workspace_id => params[:workspace_id], :profile_id => params[:profile_id]})
    
    associations.each do |assoc|
        AssocWorkspaceProfile.destroy(assoc)       
    end  
        
    respond_to do |format|
      format.js  { render :json => true}
    end
  end
end

# Expected JSON to add an association
# {
#    profiles: [profile1, profile2, profile3]
#  }
